package com.letv.whatslive.model.convert;

import com.google.common.collect.Lists;
import com.letv.whatslive.model.PaikeUser;
import com.letv.whatslive.model.utils.ObjUtils;
import com.mongodb.BasicDBList;
import com.mongodb.BasicDBObject;
import com.mongodb.DBObject;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

/**
 * Created by shenyue on 16-2-22.
 */
public class PaikeUserConvert {

    public static DBObject castPaikeUserToDBObject(PaikeUser paikeUser) {
        DBObject dbo = new BasicDBObject();
        if (paikeUser.getId() != null) {
            dbo.put("_id", paikeUser.getId());
        }
        if (paikeUser.getUserId() != null) {
            dbo.put("userId", paikeUser.getUserId());
        }
        dbo.put("userName", ObjUtils.ifNull(paikeUser.getUserName(), ""));
        dbo.put("nickName", ObjUtils.ifNull(paikeUser.getNickName(), ""));
        if (paikeUser.getSex() != null) {
            dbo.put("sex", paikeUser.getSex());
        }
        dbo.put("mobilePhone", ObjUtils.ifNull(paikeUser.getMobilePhone(), ""));
        dbo.put("email", ObjUtils.ifNull(paikeUser.getEmail(), ""));
        dbo.put("createTime", ObjUtils.toLong(paikeUser.getCreateTime(), System.currentTimeMillis()));
        dbo.put("updateTime", ObjUtils.toLong(paikeUser.getUpdateTime(), System.currentTimeMillis()));
        dbo.put("qqId",ObjUtils.toString(paikeUser.getQqId(), ""));
        dbo.put("weixinId",ObjUtils.toString(paikeUser.getWeixinId(),""));
        dbo.put("province", ObjUtils.ifNull(paikeUser.getProvince(), ""));
        dbo.put("city", ObjUtils.ifNull(paikeUser.getCity(), ""));
        dbo.put("district", ObjUtils.ifNull(paikeUser.getDistrict(), ""));
        if (paikeUser.getBankId() != null) {
            dbo.put("bankId", paikeUser.getBankId());
        }
        dbo.put("bankCardNo", ObjUtils.ifNull(paikeUser.getBankCardNo(), ""));
        dbo.put("idCardNo", ObjUtils.ifNull(paikeUser.getIdCardNo(), ""));
        if(paikeUser.getCreateByPersonLoginName()!=null)
            dbo.put("createByPersonLoginName",ObjUtils.toString(paikeUser.getCreateByPersonLoginName()));

        return dbo;
    }

    public static PaikeUser castDBObjectToPaikeUser(DBObject dbObject){
        if(dbObject != null) {
            PaikeUser paikeUser = new PaikeUser();
            paikeUser.setId(ObjUtils.toLong(dbObject.get("_id")));
            paikeUser.setUserId(ObjUtils.toLong(dbObject.get("userId")));
            paikeUser.setUserName(ObjUtils.toString(dbObject.get("userName"), ""));
            paikeUser.setNickName(ObjUtils.toString(dbObject.get("nickName")));
            paikeUser.setSex(ObjUtils.toInteger(dbObject.get("sex")));
            paikeUser.setCreateTime(ObjUtils.toLong(dbObject.get("createTime")));
            paikeUser.setQqId(ObjUtils.toString(dbObject.get("qqId"), ""));
            paikeUser.setWeixinId(ObjUtils.toString(dbObject.get("weixinId"), ""));
            paikeUser.setProvince(ObjUtils.toString(dbObject.get("province"), ""));
            paikeUser.setCity(ObjUtils.toString(dbObject.get("city"), ""));
            paikeUser.setDistrict(ObjUtils.toString(dbObject.get("district"), ""));
            paikeUser.setBankCardNo(ObjUtils.toString(dbObject.get("bankCardNo"), ""));
            paikeUser.setIdCardNo(ObjUtils.toString(dbObject.get("idCardNo"), ""));
            paikeUser.setEmail(ObjUtils.toString(dbObject.get("email"), ""));
            paikeUser.setMobilePhone(ObjUtils.toString(dbObject.get("mobilePhone"), ""));
            paikeUser.setBankId(ObjUtils.toLong(dbObject.get("bankId")));
            paikeUser.setCreateByPersonLoginName(ObjUtils.toString(dbObject.get("createByPersonLoginName")));
            return paikeUser;
        }else{
            return null;
        }

    }
}
